"""
@Time: 2024/3/15 10:20
@Auther: hwx
@Desc: 07-函数返回值之None类型

思考：如果函数没有使用return语句返回数据，那么函数有返回值吗？
实际上是：有的。

Python中有一个特殊的字面量：None，其类型是：<class "NoneType'> 无返回值的函数，实际上就是返回了：None这个字面量

None表示：空的、无实际意义的意思
函数返回的None，就表示，这个函数没有返回什么有意义的内容。也就是返回了空的意思。



应用场景：
- 用在函数无返回值上
- 用在if判断上，None就等同于False，一般用于函数中主动返回None，配合if判断做相关处理
- 用于声明无内容的变量上，定义变量时，如果不确定赋什么值，就可以赋None


函数如何返回None
- 不使用return语句即返回None
- 主动return None
"""

print("========================= 测试函数返回值之None类型 =========================")


# 无return语句的函数返回值
def say_hi():
    print("你好呀")


result = say_hi()
print(f"无返回值函数，返回的内容是：{result}")
print(f"无返回值函数，返回的内容类型是：{type(result)}")


# 主动返回None的函数
def say_hi2():
    print("哈哈哈")
    return None


result = say_hi2()
print(f"无返回值函数，返回的内容是：{result}")
print(f"无返回值函数，返回的内容类型是：{type(result)}")

print("========================= 测试if判断之None类型 =========================")


# None用于if判断
def check_age(age):
    if age > 18:
        return "SUCCESS"
    else:
        return None


# result = check_age(16)
result = check_age(26)
if not result:
    # 进入if表示result是Wone值也就是False
    print("未成年，不可以进入")

print("========================= 测试声明变量之None类型 =========================")
# None用于声明无初始内容的变量
name = None
age = None

print(f"name的值是：{name}")
print(f"age的值是：{age}")